package com.wsoft.portal.service;

import com.wsoft.portal.entity.PortalModuleEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wsoft.portal.query.module.*;
import com.wsoft.portal.vo.module.RenderVO;

import java.util.List;

/**
 * <p>
 * 空间类型 服务类
 * </p>
 *
 * @author Z001
 * @since 2024年12月27日 10:02:24
 */
public interface IPortalModuleService extends IService<PortalModuleEntity> {

    /**
     * 新增板块
     * @param query
     * @return
     */
    boolean insertModule(ModuleInsertQuery query);

    /**
     * 修改板块
     * @param query
     * @return
     */
    boolean updateModule(ModuleUpdateQuery query);

    /**
     * 获取板块详情
     * @param id
     * @return
     */
    PortalModuleEntity getModuleInfo(Long id);

    /**
     * 删除板块
     * @param id
     * @return
     */
    boolean deleteModule(Long id);


    /**
     * 修改板块宽高和xy轴
     * @param query
     * @return
     */
    boolean updateWhSort(List<ModuleWidthHeightListQuery> query);


    /**
     * 渲染
     * @param query
     * @return
     */
    RenderVO render(RenderQuery query);

    /**
     * 用户渲染
     * @param query
     * @param type
     * @return
     */
    RenderVO userRender(UserRenderQuery query,String type);


    /**
     * 恢复默认
     * @param query
     * @param type
     * @return
     */
    boolean recover(PortalRecoverQuery query,String type);
}
